home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / asm / mach-visws / setup_arch_post.h < prev    next >
Text File  |  2005-10-13  |  1KB  |  50 lines

  1. /* Hook for machine specific memory setup.
  2.  *
  3.  * This is included late in kernel/setup.c so that it can make use of all of
  4.  * the static functions. */
  5.  
  6. #define MB (1024 * 1024)
  7.  
  8. unsigned long sgivwfb_mem_phys;
  9. unsigned long sgivwfb_mem_size;
  10.  
  11. long long mem_size __initdata = 0;
  12.  
  13. static char * __init machine_specific_memory_setup(void)
  14. {
  15.     long long gfx_mem_size = 8 * MB;
  16.  
  17.     mem_size = ALT_MEM_K;
  18.  
  19.     if (!mem_size) {
  20.         printk(KERN_WARNING "Bootloader didn't set memory size, upgrade it !\n");
  21.         mem_size = 128 * MB;
  22.     }
  23.  
  24.     /*
  25.      * this hardcodes the graphics memory to 8 MB
  26.      * it really should be sized dynamically (or at least
  27.      * set as a boot param)
  28.      */
  29.     if (!sgivwfb_mem_size) {
  30.         printk(KERN_WARNING "Defaulting to 8 MB framebuffer size\n");
  31.         sgivwfb_mem_size = 8 * MB;
  32.     }
  33.  
  34.     /*
  35.      * Trim to nearest MB
  36.      */
  37.     sgivwfb_mem_size &= ~((1 << 20) - 1);
  38.     sgivwfb_mem_phys = mem_size - gfx_mem_size;
  39.  
  40.     add_memory_region(0, LOWMEMSIZE(), E820_RAM);
  41.     add_memory_region(HIGH_MEMORY, mem_size - sgivwfb_mem_size - HIGH_MEMORY, E820_RAM);
  42.     add_memory_region(sgivwfb_mem_phys, sgivwfb_mem_size, E820_RESERVED);
  43.  
  44.     return "PROM";
  45.  
  46.     /* Remove gcc warnings */
  47.     (void) sanitize_e820_map(NULL, NULL);
  48.     (void) copy_e820_map(NULL, 0);
  49. }
  50.